﻿'#################################################################
'     Программа спроектирована и написана Чернявским Андреем
'              для курсовой работы по информатике,
'        весь код, от начала и до конца написан вручную.
' SVN проекта находится на http://code.google.com/p/testviewerbf/
'#################################################################
'Загрузка дополнительного MySql.Data.MySqlClient модуля.
Imports MySql.Data.MySqlClient
Module setting
    'Обявление переменных.
    Dim setting As New My.MySettings
    Dim MySqlConnection As MySqlConnection
    Public dataendtime As String = DateString & " " & TimeString
    Public textstolb As String
    Dim sqlquary
    Public Sub mod_MySql()
        'Генерация номера для номера запроса sql
        setting.NumberNam = setting.NumberNam + 1
        setting.Save()
        'Корректировка запроса
        textstolb = EndForm.TextBox1.Text
        textstolb = textstolb.Replace(vbCrLf, "\r\n")
        'Выполнение MySql запроса в базу данных.
        If setting.text1 = "" Or setting.text2 = "" Or setting.text4 = "" Then
            MsgBox("Поля для подключения к БД не заполнены.", MsgBoxStyle.Question)
        Else
            MySqlConnection = New MySqlConnection()
            MySqlConnection.ConnectionString = "server=" & setting.text1 & "; user id=" & setting.text2 & "; password=" & setting.text3 & "; database=" & setting.text4 & ";"
            Try
                MySqlConnection.Open()
            Catch myerror As MySqlException
                MessageBox.Show("Не удается подключиться к базе данных: " & myerror.Message)
                MySqlConnection.Close()
            End Try
            Dim myadapter As New MySqlDataAdapter
            If AdminSetting.sqlq = 0 Then
                sqlquary = "INSERT INTO `test_viewer` VALUES ('" & setting.NumberNam & "', '" & "+++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n Имя тестируемого: " & EnterForm.TextBox1.Text & "\r\n Учебная группа тестируемого: " & EnterForm.TextBox2.Text & "\r\n" & EndForm.Label1.Text & "\r\n" & EndForm.Label3.Text & "\r\n" & EndForm.Label4.Text & "\r\n" & EndForm.Label5.Text & "\r\n +++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n" & textstolb & "', '" & DateString & " " & TimeString & "');"
            Else
                sqlquary = "DROP TABLE IF EXISTS `test_viewer`; CREATE TABLE `test_viewer` (`Id` mediumint(8) unsigned NOT NULL DEFAULT '0', `Results` text, `Date` text) ENGINE=MyISAM DEFAULT CHARSET=utf8;"
            End If
            Dim command As New MySqlCommand
            command.Connection = MySqlConnection
            command.CommandText = sqlquary
            myadapter.SelectCommand = command
            Dim mydata As MySqlDataReader
            mydata = command.ExecuteReader()
        End If
    End Sub
    Public Sub mod_savefile()
        'Метод сохранения истории прохождения тестов, сохранение в файл.
        'Открытие
        Dim ttexts As String
        If Module1.derictory = 0 Then
            Dim R As New IO.StreamReader(My.Application.Info.DirectoryPath & "\data\savehistory")
            ttexts = R.ReadToEnd
            R.Close()
        Else
            Dim R As New IO.StreamReader(setting.der3 & "\data\savehistory")
            ttexts = R.ReadToEnd
            R.Close()
        End If
        'Сохранение
        If Module1.derictory = 0 Then
            Dim savef As New System.IO.StreamWriter(My.Application.Info.DirectoryPath & "\data\savehistory")
            savef.Write(ttexts & vbCrLf & "+++++++++++++++++++++++++++++++++++++++++++++++++++" & vbCrLf & "Имя тестируемого: " & EnterForm.TextBox1.Text & vbCrLf & "Учебная группа тестируемого: " & EnterForm.TextBox2.Text & vbCrLf & EndForm.Label1.Text & vbCrLf & EndForm.Label3.Text & vbCrLf & EndForm.Label4.Text & vbCrLf & EndForm.Label5.Text & vbCrLf & "+++++++++++++++++++++++++++++++++++++++++++++++++++" & vbCrLf & EndForm.TextBox1.Text)
            savef.Close()
        Else
            Dim savef As New System.IO.StreamWriter(setting.der3 & "\data\savehistory")
            savef.Write(ttexts & vbCrLf & "+++++++++++++++++++++++++++++++++++++++++++++++++++" & vbCrLf & "Имя тестируемого: " & EnterForm.TextBox1.Text & vbCrLf & "Учебная группа тестируемого: " & EnterForm.TextBox2.Text & vbCrLf & EndForm.Label1.Text & vbCrLf & EndForm.Label3.Text & vbCrLf & EndForm.Label4.Text & vbCrLf & EndForm.Label5.Text & vbCrLf & "+++++++++++++++++++++++++++++++++++++++++++++++++++" & vbCrLf & EndForm.TextBox1.Text)
            savef.Close()
        End If

    End Sub
    Public Sub mod_cleanfile()
        'Метод сохранения истории прохождения тестов, сохранение на MySql сервер.
        If Module1.derictory = 0 Then
            Dim savef As New System.IO.StreamWriter(My.Application.Info.DirectoryPath & "\data\savehistory")
            savef.Write("")
            savef.Close()
        Else
            Dim savef As New System.IO.StreamWriter(setting.der3 & "\data\savehistory")
            savef.Write("")
            savef.Close()
        End If
    End Sub
End Module
